home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Aminet 5
/
Aminet 5 - March 1995.iso
/
Aminet
/
game
/
role
/
Ang261Lib.lha
/
src
/
help.c
< prev
next >
Wrap
C/C++ Source or Header
|
1994-10-22
|
7KB
|
339 lines
/*
* help.c: identify a symbol
*
* Copyright (c) 1989 James E. Wilson, Robert A. Koeneke
*
* This software may be copied and distributed for educational, research, and
* not for profit purposes provided that this copyright and statement are
* included in all such copies.
*/
#include "constant.h"
#include "monster.h"
#include "config.h"
#include "types.h"
#include "externs.h"
void
ident_char()
{
char command, query;
register int i, n;
if (get_com("Enter character to be identified :", &command))
switch (command) {
/*
* every printing ASCII character is listed here, in the order in
* which they appear in the ASCII character set
*/
case ' ':
prt(" - An open pit.", 0, 0);
break;
case '!':
prt("! - A potion.", 0, 0);
break;
case '"':
prt("\" - An amulet, periapt, or necklace.", 0, 0);
break;
case '#':
prt("# - A stone wall.", 0, 0);
break;
case '$':
prt("$ - Treasure.", 0, 0);
break;
case '%':
if (highlight_seams == TRUE)
prt("% - A magma or quartz vein.", 0, 0);
else
prt("% - Not used.", 0, 0);
break;
case '&':
prt("& - Demon (Oh dear!).", 0, 0);
break;
case '\'':
prt("' - An open door.", 0, 0);
break;
case '(':
prt("( - Soft armor.", 0, 0);
break;
case ')':
prt(") - A shield.", 0, 0);
break;
case '*':
prt("* - Gems.", 0, 0);
break;
case '+':
prt("+ - A closed door.", 0, 0);
break;
case ',':
prt(", - Food or mushroom patch.", 0, 0);
break;
case '-':
prt("- - A wand", 0, 0);
break;
case '.':
prt(". - Floor.", 0, 0);
break;
case '/':
prt("/ - A pole weapon.", 0, 0);
break;
/* case '0': prt("0 - Not used.", 0, 0); break; */
case '1':
prt("1 - Entrance to General Store.", 0, 0);
break;
case '2':
prt("2 - Entrance to Armory.", 0, 0);
break;
case '3':
prt("3 - Entrance to Weaponsmith.", 0, 0);
break;
case '4':
prt("4 - Entrance to Temple.", 0, 0);
break;
case '5':
prt("5 - Entrance to Alchemy shop.", 0, 0);
break;
case '6':
prt("6 - Entrance to Magic store.", 0, 0);
break;
case '7':
prt("7 - Entrance to Black Market.", 0, 0);
break;
case '8':
prt("8 - Entrance to your home.", 0, 0);
break;
/* case '9': prt("9 - Not used.", 0, 0); break; */
case ':':
prt(": - Rubble.", 0, 0);
break;
case ';':
prt("; - A loose rock.", 0, 0);
break;
case '<':
prt("< - An up staircase.", 0, 0);
break;
case '=':
prt("= - A ring.", 0, 0);
break;
case '>':
prt("> - A down staircase.", 0, 0);
break;
case '?':
prt("? - A scroll.", 0, 0);
break;
case '@':
prt(py.misc.name, 0, 0);
break;
case 'A':
prt("A - Angel.", 0, 0);
break;
case 'B':
prt("B - Birds", 0, 0);
break;
case 'C':
prt("C - Canine.", 0, 0);
break;
case 'D':
prt("D - An Ancient Dragon (Beware).", 0, 0);
break;
case 'E':
prt("E - Elemental.", 0, 0);
break;
case 'F':
prt("F - Giant Fly.", 0, 0);
break;
case 'G':
prt("G - Ghost.", 0, 0);
break;
case 'H':
prt("H - Hybrid.", 0, 0);
break;
case 'I':
prt("I - Minor Demon.", 0, 0);
break;
case 'J':
prt("J - Jabberwock.", 0, 0);
break;
case 'K':
prt("K - Killer Beetle.", 0, 0);
break;
case 'L':
prt("L - Lich.", 0, 0);
break;
case 'M':
prt("M - Mummy.", 0, 0);
break;
/* case 'N': prt("N - Not used.", 0, 0); break; */
case 'O':
prt("O - Ogre.", 0, 0);
break;
case 'P':
prt("P - Giant humanoid.", 0, 0);
break;
case 'Q':
prt("Q - Quylthulg (Pulsing Flesh Mound).", 0, 0);
break;
case 'R':
prt("R - Reptiles and Amphibians.", 0, 0);
break;
case 'S':
prt("S - Giant Scorpion/Spider.", 0, 0);
break;
case 'T':
prt("T - Troll.", 0, 0);
break;
case 'U':
prt("U - Umber Hulk.", 0, 0);
break;
case 'V':
prt("V - Vampire.", 0, 0);
break;
case 'W':
prt("W - Wight or Wraith.", 0, 0);
break;
case 'X':
prt("X - Xorn/Xaren.", 0, 0);
break;
case 'Y':
prt("Y - Yeti.", 0, 0);
break;
case 'Z':
prt("Z - Zepher hound (Elemental hound).", 0, 0);
break;
case '[':
prt("[ - Hard armor.", 0, 0);
break;
case '\\':
prt("\\ - A hafted weapon.", 0, 0);
break;
case ']':
prt("] - Misc. armor.", 0, 0);
break;
case '^':
prt("^ - A trap.", 0, 0);
break;
case '_':
prt("_ - A staff.", 0, 0);
break;
/* case '`': prt("` - Not used.", 0, 0); break; */
case 'a':
prt("a - Giant Ant/Ant Lion.", 0, 0);
break;
case 'b':
prt("b - Giant Bat.", 0, 0);
break;
case 'c':
prt("c - Giant Centipede.", 0, 0);
break;
case 'd':
prt("d - a Dragon.", 0, 0);
break;
case 'e':
prt("e - Floating Eye.", 0, 0);
break;
case 'f':
prt("f - Felines", 0, 0);
break;
case 'g':
prt("g - Golem.", 0, 0);
break;
case 'h':
prt("h - Humanoid (Dwarf, Elf, Halfling).", 0, 0);
break;
case 'i':
prt("i - Icky Thing.", 0, 0);
break;
case 'j':
prt("j - Jelly.", 0, 0);
break;
case 'k':
prt("k - Kobold.", 0, 0);
break;
case 'l':
prt("l - Giant Louse.", 0, 0);
break;
case 'm':
prt("m - Mold.", 0, 0);
break;
case 'n':
prt("n - Naga.", 0, 0);
break;
case 'o':
prt("o - Orc.", 0, 0);
break;
case 'p':
prt("p - Person (Humanoid).", 0, 0);
break;
case 'q':
prt("q - Quadruped.", 0, 0);
break;
case 'r':
prt("r - Rodent.", 0, 0);
break;
case 's':
prt("s - Skeleton.", 0, 0);
break;
case 't':
prt("t - Giant Tick.", 0, 0);
break;
/* case 'u': prt("u - Unicorn.", 0, 0); break; */
case 'v':
prt("v - Vortex.", 0, 0);
break;
case 'w':
prt("w - Worm or Worm Mass.", 0, 0);
break;
/* case 'x': prt("x - Not used.", 0, 0); break; */
case 'y':
prt("y - Yeek.", 0, 0);
break;
case 'z':
prt("z - Zombie.", 0, 0);
break;
case '{':
prt("{ - Arrow, bolt, or bullet.", 0, 0);
break;
case '|':
prt("| - A sword or dagger.", 0, 0);
break;
case '}':
prt("} - Bow, crossbow, or sling.", 0, 0);
break;
case '~':
prt("~ - Tool or miscellaneous item.", 0, 0);
break;
default:
prt("Not Used.", 0, 0);
break;
}
/* Allow access to monster memory. -CJS- */
n = 0;
#ifdef MSDOS
if (command == '.' || command == '#')
command = (command == '.' ? floorsym : wallsym);
#endif
for (i = MAX_CREATURES - 1; i >= 0; i--)
#ifdef MSDOS
if ((c_list[i].cchar == (unsigned) command) && bool_roff_recall(i))
#else
if ((c_list[i].cchar == (unsigned) command) && bool_roff_recall(i))
#endif
{
if (n == 0) {
put_buffer("You recall those details? [y/n]", 0, 40);
query = inkey();
if (query != 'y' && query != 'Y')
break;
erase_line(0, 40);
save_screen();
}
n++;
query = roff_recall(i);
restore_screen();
if (query == ESCAPE)
break;
}
}